package br.com.certificacao.Conjuntos.hashcode;

/**
 * Nesta classe o metodo equals indica que dois objetos sao equivalentes se tiverem a mesma marca, ja o metodo hashCode retorna o numero de serie.
 * @author Sidney
 *
 */

public class Televisao {
	String marca;
	String fabricante;
	int numSerie;
	
	public Televisao(String marca, String fabricante, int numSerie){
		this.marca = marca;
		this.fabricante = fabricante;
		this.numSerie = numSerie;
	}
	
	public boolean equals(Object obj){
		if(((Televisao)obj).marca == this.marca)
			return true;
		return false;
	}
	public int hashCode(){
		return numSerie;
	}
	public static void main(String[] args) {
		Televisao t1 = new Televisao("Tunning", "Semp", 12);
		Televisao t2 = new Televisao("Delta", "Sharp", 12);
		Televisao t3 = new Televisao("Tunning","Phillips", 27);
		System.out.println(t1.equals(t2));
		System.out.println(t1.equals(t3));
		System.out.println(t2.equals(t3));
		System.out.println("HashCode de t1: " + t1.hashCode());
		System.out.println("HashCode de t2: " + t2.hashCode());
		System.out.println("HashCode de t3: " + t3.hashCode());
		System.out.println(t1.hashCode() == t2.hashCode());
		System.out.println(t1.hashCode() == t3.hashCode());
		System.out.println(t2.hashCode() == t3.hashCode());
	}

}
